package com.feather.common.web;

import java.util.Random;

import com.alibaba.fastjson.serializer.SerializerFeature;
import com.feather.common.util.RunnableEntry;

public interface Server {
	public static final Server[]	CURRENT	= new Server[] { new Server() {
												@Override
												public void setDigest(String digest) {

												}

												@Override
												public String getDigest() {
													return null;
												}

												@Override
												public String getVirtualDir() {
													return null;
												}

												@Override
												public String getVirtualPath() {
													return null;
												}

												@Override
												public long getAxFilterTimeout() {
													return 0;
												}

												@Override
												public String getIgnoreXFilter() {
													return null;
												}

												@Override
												public String getConfigFile() {
													return null;
												}

												@Override
												public String getMac() {
													return null;
												}

												@Override
												public String getIp() {
													return null;
												}

												@Override
												public int getPort() {
													return 0;
												}

												@Override
												public String getName() {
													return null;
												}

												@Override
												public String getRoot() {
													return null;
												}

												@Override
												public String getUUID() {
													return null;
												}

												@Override
												public String toJson(Object obj) {
													return null;
												}

												@Override
												public String toJson(Object obj, boolean prettyFormat) {
													return null;
												}

												@Override
												public String toJson(Object obj, SerializerFeature feature) {
													return null;
												}

												@Override
												public void execute(Runnable runnable, boolean isQueue) {

												}

												@Override
												@SuppressWarnings("rawtypes")
												public void execute(RunnableEntry runnableEntry, boolean isQueue) {

												}

												@Override
												public void print() {

												}

												@Override
												public void stop() {

												}
											} };
	public static final Random		RAND	= new Random();

	void setDigest(String digest);

	String getDigest();

	String getVirtualDir();

	String getVirtualPath();

	long getAxFilterTimeout();

	String getIgnoreXFilter();

	String getConfigFile();

	String getMac();

	String getIp();

	int getPort();

	String getName();

	String getRoot();

	String getUUID();

	String toJson(Object obj);

	String toJson(Object obj, boolean prettyFormat);

	String toJson(Object obj, SerializerFeature feature);

	void execute(Runnable runnable, boolean isQueue);

	void execute(@SuppressWarnings("rawtypes") RunnableEntry runnableEntry, boolean isQueue);

	void print();

	void stop();
}
